From df71664f20312e81134ee90ad561f55d3020ee0a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 30 Aug 2024 20:04:29 -0700 Subject: typescript --- src/routes/(app)/reset/[code]/+page.server.ts | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/routes/(app)/reset/[code]/+page.server.ts (limited to 'src/routes/(app)/reset/[code]/+page.server.ts') diff --git a/src/routes/(app)/reset/[code]/+page.server.ts b/src/routes/(app)/reset/[code]/+page.server.ts new file mode 100644 index 00000000..67f2d919 --- /dev/null +++ b/src/routes/(app)/reset/[code]/+page.server.ts @@ -0,0 +1,30 @@ +import { fail, redirect } from "@sveltejs/kit"; +import { fd, post, login } from "$lib/utils"; + +export const actions = { + default: async ({ cookies, params, request }) => { + let ip = request.headers.get("cf-connecting-ip"); + let error; + + let { code } = params; + let { password } = await fd(request); + + try { + let user = await post("/reset", { code, password }); + user.password = password; + + try { + await login(user, cookies, ip); + error = null; + } catch (e) { + error ||= e.message; + } + + if (error) return fail(400, { error }); + redirect(307, `/${user.username}`); + } catch (e) { + console.log(e.message); + return fail(400, { error: e.message }); + } + }, +}; -- cgit v1.2.3